Skip to main content

Full text of "Taller de FreeBSD, organizado por el banco de Reciclaje electrónico de ESF Galicia"

See other formats


Poul-Henning Kamp's BSD daemon 


FreeBSD 


Origen de BSD/FreeBSD 

Qué es FreeBSD 

Otros BSD y sistemas derivados 

Práctica 1. Instalar un entorno gráfico 

Ports, Paquetes y Actualización de sistema 

Jails 

Virtualización 

Práctica 2: Instalar Firefox 

Linux Binary Compatibility / Linuxulator 

Práctica 3: Instalar Chrome con soporte Widevine 


Jesús Manuel Mariño Valcarce (ijjesss at gmail dot com) 


Origen de BSD/FreeBSD 


Refs.: 


1974 BSD (Berkeley Software Distribution) comienza a desarrollarse en la Universidad de Berkeley con ayuda de 
Ken Thompson (Bell Laboratories). Las primeras versiones utilizan código de ATé¿T sujeto a licencias que cada vez 
eran más caras. Estos BSD solían correr en computadoras VAX. 


1989 BSD Net/1 implementa una pila OSI y algoritmos TCP/IP propios, pero aún queda código de ATé.T 


1991 BSD Net/2 aparece ya sin código de ATé.T y es la primera versión LIBRE REDISTRIBUIBLE de BSD. Hasta 
este año se hablaba habitualmente de BSD UNIX. Pero a partir de ahora por razones legales ya no se podrá 
utilizar el término UNIX. 


1992 Aparece 386BSD 0.0 para la arquitectura Intel 386 
1992 386BSD 0.1 aparece y se convierte en la base de la que surgirán FreeBSD y NetBSD 
1993 Aparece FreeBSD 1.0 sobre la base de 4.3BSD-Lite (Net/2) y 38BSD 


https: //klarasystems.com/articles/category/history-of-freebsd 


https://en.wikipedia.org/wiki/FreeBSD 


1969 


1971 to 1973 


1974 to 1975 


1978 


1979 


1980 


1981 


1982 


1983 


1984 


1985 
1986 
1987 
1988 
1989 


1990 
1991 


1992 


1993 
1994 
1995 
1996 
1997 


1998 


1999 
2000 


2001 to 2004 
2005 
2006 to 2007 
2008 
2009 
2010 
2011 
2012 to 2015 
2016 
2017 
2018 
2019 


Unix-ike systems 


Linux 


Minix 
1.x 


Linux 
4.x 


NexTSTEP/ 
OPENSTEP 
1.0 to 4.0 


Mac OS X, 
OSX, 
macOS 

10.0 to 10,134 
(Darwin 
1.2.1to 19) 


( Unnamed PDP-7 operating system 


BSD 
3,0 to 4.1 


Unix 
Version 1 to 4 


Unix 
Version 5 to 6 


Unix 
Version 7 


PWB/Unix 


Unix/32V 


System lll 


al Open source 


Mixed/shared source 


Closed source 


Xenix 
Sunos Al 
Akal 
SCO Xenix 
Unix E /— 
Version 8 _/ SCO Xenix 
AIX v/286 System V ) 
1.0 4 R3 HP-UX 
Sinos 1,0 to 1,2 
AÑ 1.2 to 3,0 SCO Xenix a 
9 and 10 NEBVaB6 EUR 
OS Sysiem V alo 
Bell Labs) SCO Xenix ) 
v/386 
——— 
SunOs 
4 
HP-UX 
6 to 11 
SCO UNIX UnixWare 
3.2.4 1,x to 2,x 
(System V 
R4.2) 
OpenServer Solaris 
5.0 to 5.04 2.1to9 
OpenServer 
5.0,5to 5.0,7 
AIX 
3.0752 : 
UnixWare 
DR 
(System V 
R5) 
Solaris 
OpenServer ae 
6,x 
HP-UX 
alos 
1 
Solaris 
11.0-11.4 
OpenServer 
10.x 


z/OS 


1969 


1971 to 1973 


1974 to 1975 


1978 


1979 


1980 


1981 


1982 


1983 


1984 


1985 
1986 
1987 
1988 
1989 


1990 
1991 


1992 


1993 
1994 
1995 
1996 
1997 


1998 


1999 
2000 


2001 to 2004 
2005 


2006 to 2007 
2008 
2009 
2010 
2011 

2012 to 2015 
2016 
2017 

2018 
2019 


Sud'xINN/SABeuIyxiUn/9eu/ap'9no1naujau'mmmwy/:dny 


:sjoy 


Bud'Bas"ajduwis-Al01siy xIun-xdzgTZ/Bu11/wo9 uepy'A0]siyxnul|//:sdny 


:aJuany 


Qué es FreeBSD 


FreeBSD es un Sistema Operativo completo. Por contra Linux es en esencia un Kernel (son las distros las que 


incluyen el resto de aplicaciones necesarias para completar un sistema operativo). 


FreeBSD es ofrecido bajo licencia BSD, que permite a los usuarios generar productos derivados sin ninguna 
obligación y con toda libertad. Aunque es radicalmente diferente a GNU, FreeBSD es OpenSource. Este tipo de 
licencia ha permitido a empresas como Apple, Juniper, NetApp, Sony o Nintendo, usar el código de FreeBSD para 


desarrollar sus propios sistemas operativos. 


En FreeBSD hay una separación en el Kernel y el Userland y el resto de aplicaciones de un sistema. En esencia 
FreeBSD es el Kernel y el Userland. El Userland en BSD son las aplicaciones de más bajo nivel y que junto con el 
Kernel forman el Sistema Operativo de la máquina. El entorno X o un navegador como Firefox NO pertenecen al 


Userland. 


Qué es FreeBSD / Características de FreeBSD -— Por qué FreeBSD 


v% Décadas de desarrollo desde sus orígenes en Berkeley con especial foco en la estabilidad, performance, seguridad, escalabilidad y 
gestión. 


% Magnífica documentación (https://docs.freebsd.org/en/books/handbook/) 


e Estabilidad a lo largo del tiempo: sistema de arranque BSD, kernel+userland separado de las aplicaciones, gestión de paquetes y 
ports, sistema de archivos UFS/UFS2 tradicional y posiblidad de usar OpenZFS, etc. Puedes confiar en que no tendrás cambios 
drásticos en el tiempo en el modo en que administras tu sistema (SystemV > Upstart + Systemd > some-other-bullshit). 


+ Integridad. No hay toda una maraña de “sabores/distros” de FreeBSD, a diferencia de Linux. Pero sí existen unos cuantos 
proyectos alternativos alrededor que ponen foco en determinados ámbitos (escritorio, seguridad, firewall/router, NAS, etc.). 
Podríamos decir que mucha menos duplicidad de esfuerzos y desde luego es menos caótico. 


+ Excelente TCP/IP Stack. Menor latencia de red que Linux. Netflix usa FreeBSD para servir video 


+  ROCK-SOLID. Una vez instalado el OS, salvo que se necesite cambiar de máquina, o se haya cometido algún error en la 
administración, podemos dar por seguro que las actualizaciones serán fluidas (tantor minor como major releases) y el sistema estará 
siempre al día. 


+  Jails. Desde hace más de 20 años proporcionan un entorno seguro para ejecutar aplicaciones, al estilo de los contenedores 
(Docker) de Linux hoy en día 


Qué es FreeBSD / Características de FreeBSD -— Por qué FreeBSD 


e  Jails. Desde hace más de 20 años proporcionan un entorno seguro para ejecutar aplicaciones, al estilo de los 
contenedores (Docker) de Linux hoy en día 


+ Separación Kernel+Userland del resto de aplicaciones. Kernel modular + Userland (herramientas básicas del OS) + Aplicaciones 
(Desktop, Office, Browsers, etc.) 


e ZFS como sistema de archivos por defecto 


+ ZFS Boot Environments. Snapshot de determinadas partes del sistema que proporciona seguridad frente a actualizaciones, cambios 
de configuración, etc. 


+  PortsiPackages. FreeBSD proporciona dos métodos para instalar/actualizar aplicaciones (no el OS). Ports son aquellas aplicaciones 
“portadas” que pueden compilarse e instalarse; es la mejor opción si se quieren añadir optimizaciones. Packages son los ports ya 
compilados; es la mejor opción para instalaciones/actualizaciones rápidas y la forma standard de hacerlo. 


+  — BHYVE. Es el hypervisor de FreeBSD para virtualizar OS (FBSD, OpenBSD, Linux, Windows, etc.) 


e Linux Binary Compatibility. Desde hace muchos años FBSD es capaz de ejecutar binarios linux, emulando diferentes versiones del 
kernel de Linux o incluso diferentes sitemas (CentOS, Debian, Ubuntu, etc.); el soporte es fantástico. Se suele de hablar de near- 
machine-speed para referirse al performance alcanzado por esta emulación. Como curiorisad decir que NetBSD es capaz de emular 
muchos más sistemas, por ejemplo SunOS o Ultrix (https://www.netbsd.org/docs/compat.html) 


Qué es FreeBSD / Características de FreeBSD -— Por qué FreeBSD 


+  VNET. Permite hacer virtualización de la pila de red y puede integrarse con jails. 


v% Gobierno FreeBSD es dirigido por un grupo de 9 miembros más uno 500 desarrolladores alrededor del mundo. La mayoría de los 
desarrolladores son voluntarios. El comité de dirección se renueva cada 2 años en base a la votación de los desarrolladores más 
activos. Por comparación, las distribuciones de Linux son gestionadas por el grupo o empresa que hay detrás. En cuanto al Kernel de 
Linux, la última palabra es siempre de Linux Torvalds. 


Qué es FreeBSD / Características de FreeBSD -— Limitaciones 


x Bajo número de desarrolladores en comparación con Linux > soporte HW, vulnerabilidades, actualizaciones de aplicaciones, etc. 


x Soporte para nuevo HW llega antes a Linux que FreeBSD (principalmente por el número de desarrolladores), pero además hay 
mucho menos soporte por parte de la industria que en el caso de otros sistemas operativos. 


x Complejidad en la instalación y administración Linux por contra simplifica estos aspectos y los hace más asequibles al usuario 
medio. 


x Bajo número de usuarios en comparación con Linux. Esto al final impacta, por ejemplo, en la seguridad, ya que las vulnerabilidades 
puede tardar más en reportarse. 


Qué es FreeBSD / Branches 
FreeBSD tiene 2 ramas/branches: 


+ STABLE 
Aquí se mantienen 3 versiones. Cada versión/release se mantiene durante unos 5 años aunque requieren 
upgrades minor para ser soportados 
A día de hoy las versiones STABLE que están soportadas son: 
=  12-STABLE Release 12.4 
=  13-STABLE Release 13.1 


-  13-STABLE Release 13.2 


Qué es FreeBSD / Branches 


+ CURRENT 


Es la rama de desarrollo de FreeBSD, donde se prueban nuevas funcionalidades. Sólo apta para 
desarrolladores. 


Qué es FreeBSD / Uso de FreeBSD en la industria 


% Juniper Networks JunOS (routers, switches, security devices) 


e Nintendo (Nintendo Switch) 


e Sony Interactive Entertainment (PlayStation 3/4/5 , PSVita) 


e  Netflix (Netflix CDN / Open Connect Appliances) 


e Dell (Dell Compelent Enterprise Storage Systems) 


v% Etc. 


Qué es FreeBSD / Instalación :: Documentación Oficial 


FreeBSD Handbook 


https://docs.freebsd.org/en/books/handbook/ 


Chapter 2. Installing FreeBSD 


https://docs.freebsd.org/en/books/handbook/bsdinstall/ 


Qué es FreeBSD / más información sobre FreeBSD 


+  https:/Idocs.freebsd.org/en/articlesliexplaining-bsd/ 


+  https:/Iklarasystems.com/articlesicategory/history-of-freebsd/ 


+  https:/len.wikipedia.org/wiki/Comparison_of BSD_operating_systems 


+  https:/Ifreebsdfoundation.org/ 


+  https:/Ifreebsdfoundation.org/our-work/journal/ (Revista gratuita online y paf) 


Qué es FreeBSD / Recursos útiles en INTERNET 


https:/Igithub.com/mrciksr/linux-browser-installer - Linux Ubuntu emulation layer setup para instalar navegadores 
Brave/Chrome/Edge/Opera/Vivaldi y poder reproducir contenido DRM de Netflix, Spotify, Prime, etc. 


https:/Ibastillebsd.org/ - Gestión de jails. Permite crear, borrar, manipular jails de una forma más sencilla que de 
manera nativa 


https:/Ivermaden.wordpress.com/ - Excelente blog sobre FreeBSD con toneladas de artículos, tutoriales, links a 
recursos útiles, etc. 


https:/Igithub.com/churchers/vm-bhyve - Gestor de virtualizaciones para hypervisor Bhyve. 


https:/Iklarasystems.comi/articles/ - Klarasystems es una empresa dedicada proveer soluciones basadas en FreeBSD 
y OpenSource. La sección “articles' es muy interesante para leer y aprender. 


https: //www.truenas.com/ - TrueNAS es un producto NAS desarrollado por ¡Xsystems que tradicionalmente ha estado 
muy ligado a FreeBSD. Disponen también de una versión para Linux. Destaca por su interface gráfico de gestión, 
plugins oficiales y plugins de la comunidad. Es muy completo y orientado tanto a usuarios domésticos como a empresas. 


E. 


Ghost BSD 


halo 


33 (JP[ Jsense 


Otros BSD y derivados de FreeBSD 


OpenBSD Orientado a la seguridad. Arrastra alguna limitación en cuanto al soport SMP y está limitado 
en cuanto a filesystem. Dentro de este proyecto surgió el firewall PF, portado a otros sistemas. 


NetBSD Orientado a funcionar en cualquier tipo de plataforma (“Of course it runs NetBSD”), 
actualmente soporta 53 arquitecturas diferentes. Dispone de un sistema de emulación binaria de Linux, 
sunoOS y Ultrix. 


DragonFIlyBSD Fork de FreeBSD 4.8 derivado de diferencias de opinión sobre threading y SMP 
multiprocessing en FreeBSD. Influido por AmigaOS. Su característica más relevante el su sistema de 
archivos HAMMER. 


GhostBSD Basado en la rama Stable de FreeBSD y orientado al escritorio. Incluye su propio instalador 
y permite desplegar un entorno MATE o XFCE. Este proyecto ha contribuido al proyecto de FreeBSD 
con herramientas tan útiles como networkmgr (gestor de red). 


MidnightBSD Como GhostBSD se orienta también al escritorio, pero tiene un grupo de usuarios más 
reducido y es un proyecto más modesto. 


helloSystem Basado en FreeBSD y orientado a usuarios provenientes de macOS (“The latest 
technologies, without the complexities of Linux distributions. Without lockdown. Without Big Brother. 
The user in full control”) 


OPNsense Firewall y Router basado en FreeBSD. Se gestiona con un interface web. 


Logins 


Práctica 1: Instalar un entorno gráfico a 
usuario : secreto // root : secreto 


usuarioa0fbsd01:- $ su - 
rootefbsd01:- + date 


Requisito inicial: 


rootefbsd01:- + date 2307091345.00 
El sistema debe Sun Jul 9 13:45:00 CEST 2023 


estar en hora, 
principalmente tener 
bien la hora para 
que no haya errores 
de certificados en 
URLs 


Logins 
Práctica 1: Instalar un entorno gráfico : 
usuario : secreto // root : secreto 


Versión del sistema: usuario0fbsd01:- $ uname -a 
FreeBSD fbsd01 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64 


Hacerse root 


Instalar pkg rootofbsd01:- + pkg search nano 


] The package management tool is not yet installed on your system. 
y editor nano Do you want to fetch and install it now? [y/N]: y 
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait... 
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done 
Installing pkg-1.19.1_1... 
Extracting pkg-1.19.1_1: 100% 


nano-7.2 Nano's ANOther editor, an enhanced free Pico clone 


Logins 


Práctica 1: Instalar un entorno gráfico 


usuario : secreto // root : secreto 


rootefbsd01:- + pkg install -y nano 


Instalar pkg 


Updating FreeBSD repository catalogue... 

y editor nano FreeBSD repository is up to date. 

A11 repositories are up to date. 

The following 3 package(s) will be affected (of O checked): 


New packages to be INSTALLED: 
igettext-runtime: 0.21.1 
indexinfo: 0.3.1 


nano: 7.2 
Number of packages to be installed: 3 


The process will require 4 MiB more space. 
769 KiB to be downloaded. 
[1/3] Fetching indexinfo-0.3.1.pkg: 100% 6 KiB  5.7kB/s 00:01 
[2/3] Fetching nano-7.2.pkg: 100% 597 KiB 611.5kB/s 00:01 
[3/3] Fetching gettext-runtime-0.21.1.pkg: 100% 166 KiB 170.3kB/s 
Checking integrity... done (0 conflicting) 

Installing indexinfo-0.3.1... 

Extracting indexinfo-0.3.1: 100% 

Installing gettext-runtime-0.21.1... 

Extracting gettext-runtime-0.21.1: 100% 

Installing nano-7.2... 

Extracting nano-7.2: 100% 
rootafbsd01:- + 


Logins 


Práctica 1: Instalar un entorno gráfico y 
usuario : secreto // root : secreto 


co 
xfce 


https://docs.freebsd.org/en/books/handbook/desktop/ 
https://unixcop.com/how-to-install-xfce-in-freebsd-13/ 


Editar el archivo rootOfbsd01:- + nano /etc/rc.conf 


letc/rc.conf y añadir las 


siguientes líneas: moused_enable="YES" 
dbus_enable="YES" 
hald_enable="YES" 
slim_enable="YES" 


Salir del modo root y 
rootofbsd01:- + exit 


usuario0fbsd01:- $ echo “exec xfce4-session” > .xinitrc 


como usuario hacer: 


Volver a hacerse root y rootOfbsd01:- + service slim start 


arrancar slim 


Práctica 1: Instalar un entorno gráfico 


Login como usuario 


Applications = [AY usuario - Thunar 


¡A Run Program. 


[7] Terminal Emula 


[E) File Manager 

MM Mail Reader 

4) Web Browser 

KZ Settings 

NS Accessorles 

« Development 

D sys 

e About X 

8 Log Out 
a 


File System 


Home 


settings Manager 
Mi Accessibility 
ppearan 
és Color Profiles 
3% Default Applications 
E Desktop 
(4 Display 
File Manager Settings 
IMM Keyboard 
W Mouse and Touchpad 
AA Notifications 
Panel 
Ej Power Manager 
'ñ Session and Startup 
HI Settings Editor 
E Text Editor Settings 
(9 Window Manager 
H Window Manager Tweaks 
EA workspaces 
[Bb Xfce Terminal Settings 


usuario - Thunar 


File Edit View Go Bookmarks Help 
A 12 ES Iomefusuario/ 


Places 
EE Computer 


Desktop Desktop 


E) Recent 


Trash 
Devices 
LU File system 
2.1 GB Volume 
Network 
Hi Browse Network 


Logins 


usuario : secreto // root : secreto 


1 folder | Free space: 49.0 GIB 


Práctica 1: Instalar un entorno gráfico 


Instalar gestor de red 


networkmgr 


Abrir un terminal, 
hacerse root e instalar 


networkmgr 


Sl Run Program... 

[2] Terminal Emulator 
File Manager 

MM Mail Reader 

4) Web Browser 

[E] Settings 

KS Accessories 


«lí Development 


System 


About Xfce 


B' Log Out 
o] 


File System 


Logins 


usuario : secreto // root : secreto 


Terminal - 


File Edit View Terminal Tabs Help 


3. Password 


1 


Arootafbsd01:- * pkg search networkmgr 


networkmgr-6.1 1 FreeBSD/GhostBSD network connection manager 
rootafbsd01:- + pkg install -y networkmgr 
Updating FreeBSD repository catalogue... 


AV repositories are up to date. 
The following 2 package(s) will be affected (of O checked): 


New packages to be INSTALLED: 
networkmgr: 6.1 1 
sudo: 1.9.14 


Number of packages to be installed: 2 


The process will require 9 MiB more space. 

3 MiB to be downloaded. 

[1/2] Fetching networkmgr-6.1 1.pkg: 100% 1 MiB 1.2MB/s 00:01 
[2/2] Fetching sudo-1.9.14.pkg: 100% 2 MiB 1.7MB/s 00:01 
Checking integrity... done (0 conflicting) 

[1/2] Installing sudo-1.9.14... 

[1/2] Extracting sudo-1.9.14: 100% 

[2/2] Installing networkmgr-6.1 1... 

[2/2] Extracting networkmgr-6.1 1: 100% 

Generating GTK icon cache for /usr/local/share/icons/hicolor 
AC | 


Logins 
Práctica 1: Instalar un entorno gráfico ' 
usuario : secreto // root : secreto 
En otro terminal como 


usuario, arrancar 


networkmgr 


2012-02-27 : 
pg A 00:59 Usuario Prueba 


92] Terminal - AO» 
File Edit View Terminal Tabs Help 

$ networkmgr 4 

$ service netif status not supported 


s 


Ports, Paquetes y Actualización de sistema 


Packages | Paquetes 


Son versiones binarias de las aplicaciones que han sido “portadas” a FreeBSD. Es la forma normal de instalar 


paquetes en FreeBSD sin necesidad de compilarlas. Es posible elegir entre 2 conjuntos/branches de paquetes: 


latest últimas versiones disponibles de todas las aplicaciones portadas. Algunas pueden variar cada poco tiempo 
(p.ej. Firefox) y aparecer versiones nuevas con mucha frecuencia. Este modo/branch sería similar a una rolling- 


release de Linux. 


quarterly las aplicaciones se mantienen estables (misma versión) durante 3 meses. Dentro de ese plazo de 3 
meses una aplicación varía (hay una nueva versión) sólo en casos muy puntuales como actualizaciones de 
seguridad o correcciones en el propio paquete de FreeBSD derivadas de algún fallo en la versión anterior. Lo que 
no hay en quarterly son versiones nuevas de una aplicación que incorporen nuevas funcionalidades (vendrían en el 


siguiente quarter). 


Ports, Paquetes y Actualización de sistema 
Ports 
Son aplicaciones en versión fuente ordenados por colecciones (audio, databases, editors, graphics, etc.). 
Se calcula que hay más de 30.000 aplicaciones disponibles. La instalación de las mismas pasa por compilarlas. 


Esto permite añadir optimizaciones para mejorar el rendimiento. 


No es el modo normal de instalación y no conviene mezclar aplicaciones provenientes de ports con aplicaciones 


provenientes de paquetes binarios (pero es posible y a veces necesario). 


Cualquier persona puede contribuir “portando” una aplicación a FreeBSD. 


Ports, Paquetes y Actualización de sistema 


Actualización del sistema 


Como dijimos al comienzo FreeBSD mantiene 3 versiones de su rama STABLE. Es conveniente mantener el sistema 
actualizado en una versión soportada. 


La actualización de FreeBSD es independiente de las aplicaciones. Mientras en Linux una actualización de paquetes 
puede cambiar el Kernel y el resto de aplicaciones, en FreeBSD el Kernel y Userland se actualizan por un lado y las 
aplicaciones de usuario (editores, navegadores, entornos gráficos, bases de datos, etc.) por otro (ports / packages). 


Se puede actualizar el sistema (kernel+userland) de dos formas: 


e con la utilidad freebsd-update, que básicamente es parchear el kernel y el userland en modo binario, aplicando 
correcciones de seguridad o nuevas funcionalidades sin necesidad de compilar. El método preferido. 


* — compilando el código fuente de kernel+userland. Es más complejo y requiere ciertas habilidades (desarrolladores), 
pero permite hacer ajustes específicos dentro del kernel. 


JAlLs 
El concepto de Jails en Unix va ligado generalmente al comando chroot y en general a limitar el acceso al file 
system y las aplicaciones o utilidades que puede ejecutar. Pero los Jails en FreeBSD van mucho más allá. Hay una 
virtualización de los recursos del sistema (file system, usuarios, networking, procesos, etc.) Es como una 
virtualización light en la que los recursos no utilizados siguen estándo disponibles para el host o para otros jails. 


El análogo de FreeBSD Jails en Linux es Docker. 


Por qué usar Jails: 


e — Simplificar la instalación en un entorno de test de alguna solución como bases de datos, servidores, etc. 

e — Aislar procesos (por ejemplo navegadores Web que ejecutan código JS “no seguro”, aplicaciones como Kodi 
que ejecutan código python de terceros, etc.) entre sí y entre los del jail y el host. 

+ — Desplegar diferentes versiones de una misma solución, cada una con su propia configuración de red 

* Instalar versiones específicas de un paquete software y que no se vea afectado por las actualizaciones del 
host 


e... por las mismas razones que se utiliza Docker en Linux 


JAILs 


Existen algunos proyectos que simplifican y potencian la gestión de jails en FreeBSD. Algunos de los más utilizados 
son: 


https://bastillebsd.org/ https://github.com/DtxdF/AppJail https://bsdstore.ru 
Bastille 


APP-JAIL 
automating deployment and management of 1 
E . Develop anywhere 
containerized applications on FreeBSD. . . . 
Simplify your life 
Bastille Documentation > 


En el caso de CBSD no sólo proporciona gestión de jails sino también del hypervisor bhyve 


Más info: 


https: //klarasystems.com/articles/freebsd-jails-the-beginning-of-freebsd-containers/ 
https://docs.freebsd.org/en/books/handbook/jails/ 


https://freebsdfoundation.org/freebsd-project/resources/introduction-to-freebsd-jails/ 


Virtualization 
Los dos sistemas principales para virtualización en FreeBSD son el conocido VirtualBox y el nativo de FreeBSD 
bhyve. Bhyve soporta diferentes tipos de sistemas invitados (FreeBSD, OpenBSD, distribuciones Linux, Windows, 
etc.). Puede considerarse a la par con KVM en cuanto a rendimiento. Adicionalmente hay algunos proyectos que 
añaden capas de gestión a bhyve y que facilitan su utilización. Uno de los más utilizados es vm-bhyve: 
https://github.com/churchers/vm-bhyve 
Disponible también como paquete nativo de FreeBSD. 


Más info: 


https://docs.freebsd.org/en/books/handbook/virtualization/+fvirtualization-host-bhyve 


https: //klarasystems.com/articles/from-0-to-bhyve-on-freebsd-13-1/ 


Práctica 2: Instalar Firefox 


Abrir una consola, 
convertirse en root e 


instalar con pkg 


En otro terminal ejecutar 


firefox 


Logins 
usuario : secreto // root : secreto 


$ su - 
rootefbsd01:- + pkg search firefox 
firefox-115.0_1,2 Web browser based on the browser portion of Mozilla 


firefox-esr-102.13.0,1 Web browser based on the browser portion of Mozilla 
p5-Firefox-Marionette-1.29 Automate the Firefox browser with the Marionette protocol 


rootefbsd01:- + pkg install firefox 


ar 


e 


Welcome to Firefox — Mozilla Firefox ANOTA 
| 
$ | 4 Welcome to Firefox EJ Firefox Privacy Notice — x + Y 
| 
a D Search or enter addre Y a 


+ * Mm 
y y QY Open up an amazing 


Set Firefox as default browser 


Skip this step > 


Linux Binary Compatibility Layer / Linuxulator 


Desde 1995 FreeBSD tiene un modo de ejecución de binarios Linux. Aunque a veces se alude a “emulación” no es 
ni una virtualización ni una emulación de Linux; FreeBSD implementa todas las system call de un kernel linux de 
forma que las aplicaciones funcionen aunque la CPU no está ejecutando ese kernel. Es algo similar a cuando se 


ejecutan aplicaciones de 32bit sobre arquitectura 64bit, y el rendimiento apenas se ve mermado. 


En un extracto del siguiente documento se puede leer: 
https://www.bsdcan.org/2018/schedule/attachments/473_linuxulator-notes-bsdcan2018.1txt 


Linux support in FreeBSD has been available since nearly the start of the project. Note that this feature was 


added for the noble goal of running the video game, Doom 


Linuxulator es útil cuando alguna aplicación no está disponible como paquete en FreeBSD. Un ejemplo puede ser 


instalar navegadores que requieran Widevine para reproducir contenido DRM (Netflix, Prime, Spotify...). 


Logins 
Práctica 3: Instalar Chrome con soporte Widevine a 
usuario : secreto // root : secreto 


La forma oficial de habilitar Linuxulator en FreeBSD es siguiendo las instrucciones del handbook: 


https://docs.freebsd.org/en/books/handbook/linuxemu/ 


No obstante vamos a hacerlo con un proyecto en GitHub que permitirá elegir entre diferentes navegadores a instalar y 
se encargará de la configuración necesaria adicional. El proyecto está disponible en: 


https: //github.com/mrclksr/linux-browser-installer 


Práctica 3: Instalar Chrome con soporte Widevine 


Abrir una consola, 
convertirse en root y 


clonar el repositorio 


Cuando la instalación 
termine, abrir otro 


terminal y ejecutar: 


Logins 
usuario : secreto // root : secreto 


$ su - 


rootefbsd01:- + git clone https://github.com/mrclksr/linux-browser-installer 


firefox-115.0_1,2 Web browser based on the browser portion of Mozilla 


firefox-esr-102.13.0,1 Web browser based on the browser portion of Mozilla 


p5-Firefox-Marionette-1.29 Automate the Firefox browser with the Marionette protocol 


rootOfbsd01:- + cd linux-browser-installer 


rootOfbsd01:-/linux-browser-installer + ./linux-browser-installer install chrome 


$ linux-chrome 


Práctica 3: Instalar Chrome con soporte Widevine 


= Applications = ($) Google Chrome 


( 
2.16B_=> 
Volume 


File System 


MM usuario - Thunar 


25 (Y ES Momejusuario/ 


Places 
a Computer 


23 
ES 
! 


| Desktop 


O Recent 
a Tash 


Devices 
y File System 
 2.1GB Volume 
Network 
E] Browse Network 


Desktop 


firefox.png 


Thunar 


desktop.png 


terminal_menu.png 


P=] Terminal - 


terminal_networkm 
gr.png 


All your devices 
Easily pick up 


off 


here you left 


Google Chrome 


Sign in to Chrome 


Get additional features 


Stronger security 


Protect your f 


Back up data 


vore with 


Logins 


usuario : secreto // root : secreto 


Usuario Prueba] 


security policy blocked the reply, 


due to errors during initializatio 


EP a udev monitor. 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possibl 


security policy blocked the reply, 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possibl 
security policy blocked the reply, 


Did not receive a reply. Possib 
security policy blocked the reply, 


Root password: secreto 


User: usuario : secreto 


Wifi: 
regdomain: ETSI2 


country: ES